package top.yoahh.system.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import java.util.List;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 系统资源-菜单
 * </p>
 *
 * @author hjx
 * @since 2022-05-19
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="SysMenu对象", description="系统资源-菜单")
public class SysMenu implements Serializable {

    private static final long serialVersionUID = 1L;

    /**主键*/
    @ApiModelProperty(value = "主键")
    @TableId(value = "id", type = IdType.ID_WORKER_STR)
    private String id;

    /**上级资源ID*/
    @ApiModelProperty(value = "上级资源ID")
    private String parentId;

    /**url*/
    @ApiModelProperty(value = "url")
    private String url;

    /**资源编码*/
    @ApiModelProperty(value = "资源编码")
    private String resources;

    /**资源名称*/
    @ApiModelProperty(value = "资源名称")
    private String title;

    /**是否打开新页面*/
    @ApiModelProperty(value = "是否打开新页面")
    private Integer target;

    /**排序*/
    @ApiModelProperty(value = "排序")
    private Integer sortNo;

    /**资源图标*/
    @ApiModelProperty(value = "资源图标")
    private String icon;

    /**类型 menu、button*/
    @ApiModelProperty(value = "类型 menu、button")
    private String type;

    /**备注*/
    @ApiModelProperty(value = "备注")
    private String remarks;

    /**创建时间*/
    @ApiModelProperty(value = "创建时间")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /**创建人*/
    @ApiModelProperty(value = "创建人")
    private String creator;

    /**修改时间*/
    @ApiModelProperty(value = "修改时间")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date modifyTime;

    /**修改人*/
    @ApiModelProperty(value = "修改人")
    private String modifier;

    /**逻辑删除（1：已删除，0：未删除）*/
    @ApiModelProperty(value = "逻辑删除（1：已删除，0：未删除）")
    private Boolean flag;

    @TableField(exist = false)
    @ApiModelProperty(value = "子集菜单集合")
    private List<SysMenu> children;



}
